Contract management is a challenge faced by many industries and organizations. In some industries, complex products and/or services may be offered, and these offerings may be associated with complex pricing structures, entitlements, billing and service delivery requirements, and so on. Contracts of varying degrees of complexity and scope may then be created and used for these offerings. These contracts define the relationship between contracting parties in relation to the offerings for specific time periods.
In general, a contract may be drafted to include any number of terms and each term may be drafted to cover any matter of importance between contracting parties. For example, a contract may define certain pricing structure, cover certain services, offer certain preventive maintenance, and so on. For each of these terms, different coverage may be negotiated depending on various factors such as, for example, the parties to the contract, the price paid, and so on. Contracts may thus be viewed as comprising various types of unstructured information.
In many instances, executed contracts (i.e., agreements) need to be serviced to enforce the terms of the contracts. For example, for contracts with installment payment plans (e.g., lease contracts) or recurring charges (e.g., rental contracts), periodic payments need to be determined for the contracts and invoiced accordingly. For a medium or large organization, a large number of contracts may need servicing, the contracts may be of varying degrees of complexity and scope, and numerous payment plans may be called out by the contracts.
The task of generating invoices and tracking revenue for contracts in a manner to meet the needs and requirements of an organization can be challenging. The challenge often magnifies as the complexity and/or the number of contracts to be serviced increases. Thus, techniques that can be used to efficiently service (invoice) contracts are highly desirable.